package com.tangsm.spring.boot.captcha.controller;

import com.wf.captcha.utils.CaptchaUtil;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;

import javax.servlet.http.HttpServletRequest;

@Controller
//处理跨域问题
@CrossOrigin
public class UserController {

    @GetMapping("/")
    public String loginHtml() {
        return "login.html";
    }

    /**
     * 登录
     *
     * @param username 用户名
     * @param password 密码
     * @param imgCode  图形验证码
     * @param md
     * @return
     */
    @PostMapping("/login")
    public String selectUser(String username, String password, String imgCode, Model md, HttpServletRequest request) {
        // 图像验证校验
        if (!CaptchaUtil.ver(imgCode, request)) {
            // 清除session中的验证码
            CaptchaUtil.clear(request);
            md.addAttribute("msg", "图像验证码错误");
            return "login.html";
        }

        if (!accountValidate(username, password)) {
            md.addAttribute("msg", "用户名或者密码错误");
            return "login.html";
        }

        // 登录成功
        return "redirect:index.html";
    }

    /**
     * 账户信息验证
     *
     * @param username 用户名
     * @param password 密码
     * @return 成功失败
     */
    private boolean accountValidate(String username, String password) {
        if ("admin".equals(username) && "123456".equals(password)) {
            return true;
        }
        return false;
    }

}
